home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 9 / Amoszine 9 (Disk 3 of 3).adf / AJC_Source.lha / AJC-PLAZMARv1.AMOS / AJC-PLAZMARv1.amosSourceCode
AMOS Source Code  |  1995-08-01  |  4KB  |  181 lines

  1. '
  2. ' PLAZMAR 1.0
  3. ' By Andrew "yawn yawn" Campbell 
  4. ' (adapted from some simple plasma source code by... er... ?)
  5. '
  6. ' Check out the HELP screen, then press HELP again 
  7. ' for a nice pattern. Toggle the HELP screen so you
  8. ' know which keys to press next time to alter the
  9. ' pattern, palette, etc. 
  10. '  
  11. ' Not a brilliant program, but the Fx can be nice.   
  12. ' Note: When the border is WHITE the program is WORKING! 
  13. '
  14. ' Have fun - AJC 
  15. '
  16. Global CYC
  17.  
  18. Screen Open 0,320,256,32,Lowres
  19. Curs Off : Flash Off : Hide On 
  20. Cls 0
  21. Auto View Off 
  22. CYC=6
  23. _CYCLE
  24. Shift Up 4,0,30,1
  25.  
  26. Screen Open 1,320,256,32,Lowres
  27. Curs Off : Flash Off : Hide On 
  28. Cls 0
  29.  
  30. Auto View On 
  31. View 
  32.  
  33. _HELP
  34.  
  35. RESE:
  36.  
  37. V=-15
  38. CO=0
  39. KAK=1
  40. TIM=2
  41. CYC=7
  42.  
  43. GIMP:
  44. Colour Back $FFF
  45. Cls 0
  46. Get Palette 0
  47. Screen To Back 1
  48. '
  49. Screen 1
  50. '
  51. Degree 
  52. '
  53. For X=0 To 320 Step KAK
  54.    Ink CO
  55.    Draw X,0 To X,256
  56.    If TIM=10
  57.       Inc CO
  58.       TIM=0
  59.    End If 
  60.    If CO>30
  61.       CO=0
  62.    End If 
  63.    Inc TIM
  64. Next X
  65. '
  66. For Y=0 To 256
  67.    P#=Sin(POS#)*V
  68.    Screen Copy 1,0,Y,320,Y+1 To 0,P#,Y
  69.    POS#=POS#+5
  70. Next Y
  71. '
  72. Screen Copy 0,0,0,320,256 To 1,0,0
  73. '
  74. For X=0 To 320
  75.    P#=Sin(POS#)*V
  76.    Screen Copy 1,X,0,X+1,256 To 0,X,P#
  77.    POS#=POS#+5
  78. Next X
  79.  
  80. Screen 0
  81. Colour Back $0
  82. Update 
  83. Auto View On 
  84. View 
  85.  
  86. Do 
  87.    If Key State(95) : _HELP : End If 
  88.    If Key State(1) : Add V,10 : Goto GIMP : End If 
  89.    If Key State(2) : Add V,-10 : Goto GIMP : End If 
  90.    If Key State(3) : Add KAK,2 : Goto GIMP : End If 
  91.    If Key State(4) : Add KAK,-2 : Goto GIMP : End If 
  92.    If Key State(5) : Add TIM,5 : Goto GIMP : End If 
  93.    If Key State(6) : Add TIM,-5 : Goto GIMP : End If 
  94.    If Key State(19) : Goto RESE : End If 
  95.    If Key State(51) : _CYCLE : End If 
  96.    If Key State(16) : Screen 0 : Fade 3 : Wait 100 : Edit : End If 
  97. Loop 
  98.  
  99. Goto GIMP
  100.  
  101. Procedure _HELP
  102.    
  103.    Auto View Off 
  104.    Screen Open 7,640,266,2,Hires
  105.    Curs Off : Flash Off : Cls 0 : Hide On 
  106.    Screen Display 7,,500,,
  107.    
  108.    Gosub REPRINT
  109.    
  110.    Auto View On 
  111.    View 
  112.    Palette 0,$FFF,
  113.    
  114.    For I=500 To 40 Step -1
  115.       Update 
  116.       Screen Display 7,,I,,
  117.    Next I
  118.    
  119.    MFFF:
  120.    Do 
  121.       If Key State(95)
  122.          Screen Close 7
  123.          Wait 3
  124.          Pop Proc
  125.       End If 
  126.    Loop 
  127.    
  128.    REPRINT:
  129.     Locate 0,1 : Centre "PLAZMAR v1.0 >>HELP<< SCREEN"
  130.     Locate 0,2 : Centre "(Press HELP and THEN use these functions!)"
  131.     Locate 0,4 : Centre "Increase Plazma Formula #1............................press 1"
  132.     Locate 0,5 : Centre "Decrease Plazma Formula #1............................press 2"
  133.     Locate 0,7 : Centre "Increase Plazma Formula #2............................press 3"
  134.     Locate 0,8 : Centre "Decrease Plazma Formula #2............................press 4"
  135.    Locate 0,10 : Centre "Increase Plazma Formula #3............................press 5"
  136.    Locate 0,11 : Centre "Decrease Plazma Formula #3............................press 6"
  137.    Locate 0,13 : Centre "Reset All Values......................................press R"
  138.    Locate 0,15 : Centre "Cycle Through Colour Schemes..........................press C"
  139.    Locate 0,17 : Centre "Quit The Program......................................press Q"
  140.    Locate 0,19 : Centre "TOGGLE THIS SCREEN.................................press HELP"
  141.    
  142.    Return 
  143.    
  144. End Proc
  145. Procedure _CYCLE
  146.  
  147. Inc CYC
  148.  
  149. If CYC>8
  150. CYC=1
  151. End If 
  152.  
  153. If CYC=1
  154.  Palette $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$0
  155. End If 
  156. If CYC=2
  157.  Palette $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF,$EE,$DD,$CC,$BB,$AA,$99,$88,$77,$66,$55,$44,$33,$22,$11,$0
  158. End If 
  159. If CYC=3
  160.  Palette $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F,$1E,$2D,$3C,$4B,$5A,$69,$78,$87,$96,$A5,$B4,$C3,$D2,$E1,$F0
  161. End If 
  162. If CYC=4
  163.  Palette $11,$122,$233,$344,$455,$566,$677,$788,$899,$9AA,$ABB,$BCC,$CDD,$DEE,$EFF,$FEE,$EDD,$DCC,$CBB,$BAA,$A99,$988,$877,$766,$655,$544,$433,$322,$211,$100,$0
  164. End If 
  165. If CYC=5
  166.  Palette $0,$111,$222,$333,$444,$555,$666,$777,$888,$999,$AAA,$BBB,$CCC,$DDD,$EEE,$FFF,$EE1,$DD2,$CC3,$BB4,$AA5,$996,$887,$778,$669,$55A,$449,$338,$227,$116,$5
  167. End If 
  168. If CYC=6
  169.  Palette $0,$110,$220,$330,$440,$550,$660,$770,$880,$990,$AA0,$BB0,$CC0,$DD0,$EE0,$FF0,$E0E,$D0D,$C0C,$B0B,$A0A,$909,$808,$707,$606,$505,$404,$303,$202,$101,$0
  170. End If 
  171. If CYC=7
  172.  Palette $0,$FFF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  173. End If 
  174. If CYC=8
  175.  Palette $0,$990,$880,$770,$660,$550,$440,$330,$220,$110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  176. End If 
  177.  
  178. Wait 10
  179.  
  180.  
  181. End Proc